<?php
	/*==================================================================*/
	/*		文件名:Album.class.php                              */
	/*		概要: 相册管理类.                	       	    */
	/*		作者: 高洛峰                                        */
	/*		创建时间: 2009-05-25                                */
	/*		最后修改时间:2009-05-25                             */
	/*		copyright (c)2009 lampteacher@gmail.com             */
	/*==================================================================*/
	class AlbumModel extends  CatModel{	
		//==========================================
		// 函数:  __construct($showError=TRUE)
		// 功能: 初使化对象成员
		// 参数: $showError用户设置是否显示错误报告提示
		// 返回: 无
		//==========================================
		function __construct(){
			parent:: __construct();
			$this->tabName = TAB_PREFIX."album";
			$this->fieldList=array("id","path", "title", "description");
		}
		//==========================================
		// 函数:  getTree()
		// 功能: 从数据表中获取分类的结构树
		// 参数: 无
		// 返回: 无限分类的分类对结构数组
		//==========================================
		function getTree(){
			$sql="SELECT id, concat(path,'-',id) AS absPath, title, description FROM {$this->tabName} ORDER BY absPath, id";
			$result=$this->mysqli->query($sql);
			$record=array();
			while($row=$result->fetch_assoc()){
				$record[]=$row;
			}
			return $record;
		}

		//==========================================
		// 函数:  validateForm()
		// 功能: 对用户添加的相册内容进行验证
		// 参数: 无
		// 返回: true或false
		//==========================================
		function validateForm(){
			$result=true;
			if(!Validate::required($_POST['title'])) {
				$this->messList[] = "相册名称不能为空.";
				$result=false;
			}
			if(Validate::match($_POST['title'], "|[\\\/\'\"]|")) {
				$this->messList[] = "相册名称含有非法字符, 不能包含\\ / ' \"等字符.";
				$result=false;
			}
			if(!Validate::checkLength($_POST['description'], 200)) {
				$this->messList[] = "相册描述不能超过100个汉字.";
				$result=false;
			}

			if(!$result){
				$this->messList[] = "相册操作失败.";
			}
			return  $result;
		}

		function parseTree() {	
			$option = $this->getTree();
			$htmlStr='';
			$i=0;
			foreach($option as $value) {
				$class=($i++%2==0)?'light-row':'dark-row';  //隔行换样式
				$htmlStr .= '<li class='.$class.'>';
				$title = str_repeat('&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;',count(explode('-',$value['absPath']))-2). '|--<a href="admin.php?m=image&a=edit&pid='.$value["id"].'">'.$value['title'].'</a>';
				$htmlStr .= '<span class="col_width2">'.$title.'</span>';
				if($value["id"]>1){
					$htmlStr .= '【<a href="admin.php?m=album&a=mod&id='.$value["id"].'">修改</a>】';
					$htmlStr .= '【<a href="admin.php?m=album&a=del&id='.$value["id"].'" onclick=\'return confirm("确定要删除'.$value['title'].'及子分类吗？")\'>删除</a>】';
				}
				$htmlStr .= '</li>';
			}
			return $htmlStr;
		}
	}
